import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=utf8");
        //读取发送请求的前端页面中的登录信息(用户名和关键字)
        String username=req.getParameter("username");
        String password=req.getParameter("password");

        //将读取到的信息完整性进行一个简单的校验
        if(username==null||username.equals("")||password==null||password.equals("")){
            resp.getWriter().write("输入的登陆信息不完整");
            return;
        }
        //到这一步就已经说明接收到的信息是合法完整的信息
        //然后再检查用户名和密码是否匹配,当然一般用户名
        //和密码是存放在数据库中的，我们这里就直接简单演示
        if(!username.equals("cxk") || !password.equals("666")){
            resp.getWriter().write("用户名或密码错误");
            return;
        }

        //登陆成功,此时就可以在服务器中创建一个session对话
        //然后将传入的用户信息记录到session中
        //注意这里传入的参数为true含义为，当服务器中没有session对话时
        //此时就创建一个session对话并返回session对象
        HttpSession session= req.getSession(true);
        session.setAttribute("username","cxk");
        session.setAttribute("password","666");

        // 第二个参数得是 Object, 虽然写的是 0, 但是自动装箱成 Integer 了. 所以取的时候也是取出 Integer.
        Integer visitCount = (Integer) session.getAttribute("visitCount");
        if (visitCount == null) {
            session.setAttribute("visitCount", 0);
        } else {
            // 不做处理~~
        }
        // 让页面跳转到登录页面. 这里的重定向跳转, 是 GET 请求.
        resp.sendRedirect("indexServlet");

    }
}
